# syscall_table.S
# By: Spencer Clark
# Date created: March 12th 2011
# Date modified: March 12th 2011
# Modified by: Spencer Clark

# note: fork, spork, ... etc. are all treated as .extern by gnu-as
#       so there is no point in declaring them all .extern here

# The syscall handler will use the number (tag) of the syscall specified in the
# EAX register to index into this table and call the function specified here.
# Note: When adding a system call, the order of entries here should exactly
#       match their order in the sysc_tag enum (include/syscall_tags.h)
.global syscall_table
syscall_table:
  .long sys_fork
  .long sys_spork
# the following are not yet implemented (in any form)
#  .long yield
#  .long exit
#  .long read
#  .long write
#  .long sbrk
